# coding: utf-8
from enum import Enum
from qfluentwidgets import FluentIconBase, Theme, getIconColor


class ElIcon(FluentIconBase, Enum):
    """ Element icon """
    AddLocation = "AddLocation"
    Aim = "Aim"
    AlarmClock = "AlarmClock"
    Apple = "Apple"
    ArrowDown = "ArrowDown"
    ArrowDownBold = "ArrowDownBold"
    ArrowLeft = "ArrowLeft"
    ArrowLeftBold = "ArrowLeftBold"
    ArrowRight = "ArrowRight"
    ArrowRightBold = "ArrowRightBold"
    ArrowUp = "ArrowUp"
    ArrowUpBold = "ArrowUpBold"
    Avatar = "Avatar"
    Back = "Back"
    Baseball = "Baseball"
    Basketball = "Basketball"
    Bell = "Bell"
    BellFilled = "BellFilled"
    Bicycle = "Bicycle"
    Bottom = "Bottom"
    BottomLeft = "BottomLeft"
    BottomRight = "BottomRight"
    Bowl = "Bowl"
    Box = "Box"
    Briefcase = "Briefcase"
    Brush = "Brush"
    BrushFilled = "BrushFilled"
    Burger = "Burger"
    Calendar = "Calendar"
    Camera = "Camera"
    CameraFilled = "CameraFilled"
    CaretBottom = "CaretBottom"
    CaretLeft = "CaretLeft"
    CaretRight = "CaretRight"
    CaretTop = "CaretTop"
    Cellphone = "Cellphone"
    ChatDotRound = "ChatDotRound"
    ChatDotSquare = "ChatDotSquare"
    ChatLineRound = "ChatLineRound"
    ChatLineSquare = "ChatLineSquare"
    ChatRound = "ChatRound"
    ChatSquare = "ChatSquare"
    Check = "Check"
    Checked = "Checked"
    Cherry = "Cherry"
    Chicken = "Chicken"
    ChromeFilled = "ChromeFilled"
    CircleCheck = "CircleCheck"
    CircleCheckFilled = "CircleCheckFilled"
    CircleClose = "CircleClose"
    CircleCloseFilled = "CircleCloseFilled"
    CirclePlus = "CirclePlus"
    CirclePlusFilled = "CirclePlusFilled"
    Clock = "Clock"
    Close = "Close"
    CloseBold = "CloseBold"
    Cloudy = "Cloudy"
    Coffee = "Coffee"
    CoffeeCup = "CoffeeCup"
    Coin = "Coin"
    ColdDrink = "ColdDrink"
    Collection = "Collection"
    CollectionTag = "CollectionTag"
    Comment = "Comment"
    Compass = "Compass"
    Connection = "Connection"
    Coordinate = "Coordinate"
    CopyDocument = "CopyDocument"
    Cpu = "Cpu"
    CreditCard = "CreditCard"
    Crop = "Crop"
    DArrowLeft = "DArrowLeft"
    DArrowRight = "DArrowRight"
    DataAnalysis = "DataAnalysis"
    DataBoard = "DataBoard"
    DataLine = "DataLine"
    DCaret = "DCaret"
    Delete = "Delete"
    DeleteFilled = "DeleteFilled"
    DeleteLocation = "DeleteLocation"
    Dessert = "Dessert"
    Discount = "Discount"
    Dish = "Dish"
    DishDot = "DishDot"
    Document = "Document"
    DocumentAdd = "DocumentAdd"
    DocumentChecked = "DocumentChecked"
    DocumentCopy = "DocumentCopy"
    DocumentDelete = "DocumentDelete"
    DocumentRemove = "DocumentRemove"
    Download = "Download"
    Drizzling = "Drizzling"
    Edit = "Edit"
    EditPen = "EditPen"
    Eleme = "Eleme"
    ElemeFilled = "ElemeFilled"
    ElementPlus = "ElementPlus"
    Expand = "Expand"
    Failed = "Failed"
    Female = "Female"
    Files = "Files"
    Film = "Film"
    Filter = "Filter"
    Finished = "Finished"
    FirstAidKit = "FirstAidKit"
    Flag = "Flag"
    Fold = "Fold"
    Folder = "Folder"
    FolderAdd = "FolderAdd"
    FolderChecked = "FolderChecked"
    FolderDelete = "FolderDelete"
    FolderOpened = "FolderOpened"
    FolderRemove = "FolderRemove"
    Food = "Food"
    Football = "Football"
    ForkSpoon = "ForkSpoon"
    Fries = "Fries"
    FullScreen = "FullScreen"
    Goblet = "Goblet"
    GobletFull = "GobletFull"
    GobletSquare = "GobletSquare"
    GobletSquareFull = "GobletSquareFull"
    GoldMedal = "GoldMedal"
    Goods = "Goods"
    GoodsFilled = "GoodsFilled"
    Grape = "Grape"
    Grid = "Grid"
    Guide = "Guide"
    Handbag = "Handbag"
    Headset = "Headset"
    Help = "Help"
    HelpFilled = "HelpFilled"
    Hide = "Hide"
    Histogram = "Histogram"
    HomeFilled = "HomeFilled"
    HotWater = "HotWater"
    House = "House"
    IceCream = "IceCream"
    IceCreamRound = "IceCreamRound"
    IceCreamSquare = "IceCreamSquare"
    IceDrink = "IceDrink"
    IceTea = "IceTea"
    InfoFilled = "InfoFilled"
    Iphone = "Iphone"
    Key = "Key"
    KnifeFork = "KnifeFork"
    Lightning = "Lightning"
    Link = "Link"
    List = "List"
    Loading = "Loading"
    Location = "Location"
    LocationFilled = "LocationFilled"
    LocationInformation = "LocationInformation"
    Lock = "Lock"
    Lollipop = "Lollipop"
    MagicStick = "MagicStick"
    Magnet = "Magnet"
    Male = "Male"
    Management = "Management"
    MapLocation = "MapLocation"
    Medal = "Medal"
    Memo = "Memo"
    Menu = "Menu"
    Message = "Message"
    MessageBox = "MessageBox"
    Mic = "Mic"
    Microphone = "Microphone"
    MilkTea = "MilkTea"
    Minus = "Minus"
    Money = "Money"
    Monitor = "Monitor"
    Moon = "Moon"
    MoonNight = "MoonNight"
    More = "More"
    MoreFilled = "MoreFilled"
    MostlyCloudy = "MostlyCloudy"
    Mouse = "Mouse"
    Mug = "Mug"
    Mute = "Mute"
    MuteNotification = "MuteNotification"
    NoSmoking = "NoSmoking"
    Notebook = "Notebook"
    Notification = "Notification"
    Odometer = "Odometer"
    OfficeBuilding = "OfficeBuilding"
    Open = "Open"
    Operation = "Operation"
    Opportunity = "Opportunity"
    Orange = "Orange"
    Paperclip = "Paperclip"
    PartlyCloudy = "PartlyCloudy"
    Pear = "Pear"
    Phone = "Phone"
    PhoneFilled = "PhoneFilled"
    Picture = "Picture"
    PictureFilled = "PictureFilled"
    PictureRounded = "PictureRounded"
    PieChart = "PieChart"
    Place = "Place"
    Platform = "Platform"
    Plus = "Plus"
    Pointer = "Pointer"
    Position = "Position"
    Postcard = "Postcard"
    Pouring = "Pouring"
    Present = "Present"
    PriceTag = "PriceTag"
    Printer = "Printer"
    Promotion = "Promotion"
    QuartzWatch = "QuartzWatch"
    QuestionFilled = "QuestionFilled"
    Rank = "Rank"
    Reading = "Reading"
    ReadingLamp = "ReadingLamp"
    Refresh = "Refresh"
    RefreshLeft = "RefreshLeft"
    RefreshRight = "RefreshRight"
    Refrigerator = "Refrigerator"
    Remove = "Remove"
    RemoveFilled = "RemoveFilled"
    Right = "Right"
    ScaleToOriginal = "ScaleToOriginal"
    School = "School"
    Scissor = "Scissor"
    Search = "Search"
    Select = "Select"
    Sell = "Sell"
    SemiSelect = "SemiSelect"
    Service = "Service"
    Setting = "Setting"
    SetUp = "SetUp"
    Share = "Share"
    Ship = "Ship"
    Shop = "Shop"
    ShoppingBag = "ShoppingBag"
    ShoppingCart = "ShoppingCart"
    ShoppingCartFull = "ShoppingCartFull"
    ShoppingTrolley = "ShoppingTrolley"
    Smoking = "Smoking"
    Soccer = "Soccer"
    SoldOut = "SoldOut"
    Sort = "Sort"
    SortDown = "SortDown"
    SortUp = "SortUp"
    Stamp = "Stamp"
    Star = "Star"
    StarFilled = "StarFilled"
    Stopwatch = "Stopwatch"
    SuccessFilled = "SuccessFilled"
    Sugar = "Sugar"
    Suitcase = "Suitcase"
    SuitcaseLine = "SuitcaseLine"
    Sunny = "Sunny"
    Sunrise = "Sunrise"
    Sunset = "Sunset"
    Switch = "Switch"
    SwitchButton = "SwitchButton"
    SwitchFilled = "SwitchFilled"
    TakeawayBox = "TakeawayBox"
    Ticket = "Ticket"
    Tickets = "Tickets"
    Timer = "Timer"
    ToiletPaper = "ToiletPaper"
    Tools = "Tools"
    Top = "Top"
    TopLeft = "TopLeft"
    TopRight = "TopRight"
    TrendCharts = "TrendCharts"
    Trophy = "Trophy"
    TrophyBase = "TrophyBase"
    TurnOff = "TurnOff"
    Umbrella = "Umbrella"
    Unlock = "Unlock"
    Upload = "Upload"
    UploadFilled = "UploadFilled"
    User = "User"
    UserFilled = "UserFilled"
    Van = "Van"
    VideoCamera = "VideoCamera"
    VideoCameraFilled = "VideoCameraFilled"
    VideoPause = "VideoPause"
    VideoPlay = "VideoPlay"
    View = "View"
    Wallet = "Wallet"
    WalletFilled = "WalletFilled"
    Warning = "Warning"
    WarningFilled = "WarningFilled"
    WarnTriangleFilled = "WarnTriangleFilled"
    Watch = "Watch"
    Watermelon = "Watermelon"
    WindPower = "WindPower"
    ZoomIn = "ZoomIn"
    ZoomOut = "ZoomOut"
    # https://www.iconfont.cn/collections/detail?cid=9402
    Undo = "Undo"
    Redo = "Redo"
    Bold = "Bold"
    Italic = "Italic"
    Underline = "Underline"
    AlignLeft = "AlignLeft"
    AlignCenter = "AlignCenter"
    AlignRight = "AlignRight"
    AlignJustify = "AlignJustify"
    UnorderedList = "UnorderedList"
    OrderedList = "OrderedList"
    InsertLink = "InsertLink"
    Image = "Image"
    FontSize = "FontSize"
    Table = "Table"

    def path(self, theme=Theme.AUTO):
        return f':/element/image/icons/{getIconColor(theme)}/{self.value}.svg'
